Prior to the introduction of laser printers in 1980, the control commands transmitted by computers to printers were so-called escape sequence commands because commands were distinguished from character data by preceding each command with a special byte called the escape character. This methodology worked well with daisy wheel and dot matrix printers, but was not well suited for printing documents that combined text and graphical images.
A new type of printer control methodology, using a "Page Description Language" (PDL) was developed to control laser printers. Various PDL's were developed in the 1980s, the best known examples being PostScript (a trademark of Adobe Systems Incorporated) and Interpress, although a number of proprietary PDL's are used by different printers. These prior art PDLs introduced many useful printer control methodologies, including such tools as Resource Declarations, Context Declarations, Dictionaries, the use of memory stacks, as well as a large number of predefined commands for defining specific graphical image elements, for controlling the contents of the printer controller's memory, and so on. These features of the prior art PDLs are extensively documented in publicly available manuals such as Adobe System Incorporated's "PostScript Language Reference Manual" and its "PostScript Language Program Design", both published by Addison-Wesley Publishing Company. Another publication concerning PDL's is "Interpress, The Source Book" by Steven J. Harrington and Robert R. Buckley, published by Simon & Schuster, Inc. (1988). A publication concerning a proposed standard page description language (SPDL) which organizes documents in a hierarchical manner is "ISO/IEC DIS 10180, Information Processing-Text Communication-Standard Page Description Language" (1991).
One shortcoming of PostScript is the fact that the Page Description for a particular document can contain new definition, such as a new resource definition (e.g., for an additional font to be used in the document) or a new dictionary definition anywhere within the document. As a result, the entire contents of the document must be inspected in order to determine whether a particular printer has the resources necessary to print a particular document. Alternately, it is quite possible for the printing of a document to fail at any point during the printing process due to the inability of the printer to comply with the commands of the document's page description.
Another problem associated with PostScript is that in order to print a specified page of a document, it is necessary to read the entire PDL description of all the preceding pages of the document in order to determine the state of the documents page setup parameters (i.e., Resource Declarations, Dictionary Definitions, and so on) at the beginning of the specified page. In other words, the print controller or a print driver program must read the entire PDL description of the document to take into account the effect of every page setup command between the beginning of the document and the specified page. While this page setup scanning process is straightforward, it is wasteful. Adobe System Inc. has proposed programming conventions to avoid or reduce this problem.
Interpress uses free formatted prologues which can be used to avoid the above problem. The Standard Page Description Language proposed by ISO on the other hand uses prologues having a predetermined fixed format.
Other shortcomings in the prior art include the failure to provide systems which are designed to translate documents between various printer command formats, various page description languages, as well as other types of devices such as facsimile machines.
The present invention provides an improved image processor, which processes documents represented by statements in a structured page description language (such as the Standard Page Description Language proposed by ISO), converts documents between a variety of different document description formats, and also transmits documents to remote devices in accordance with the resources available at those remote devices, thereby using the most efficient data transmission format which is compatible with the receiving remote device.